A high level modeling system (HLMS) is a computer-based, circuit design tool that allows a user to create a circuit design at a high level of abstraction. An HLMS provides a design environment within which the user creates circuit designs using a modular approach. Typically, the HLMS provides a graphic design environment in which circuit blocks are inserted into the circuit design using a “drag-and-drop” design paradigm, though command line options are usually available as well. The user can drag circuit blocks, represented as graphic blocks, into the design environment. Each circuit block can represent a particular circuit function such as multiplexing, addition, multiplication, filtering, or the like. The user also can specify connectivity and signal flows within the circuit design by coupling exposed ports of circuit blocks by drawing lines, representing wires, coupling the ports. The user effectively builds an electronic circuit design by constructing a block diagram.
In addition to being used to create user-specified circuit designs, an HLMS can be used by a provider of intellectual property (IP) to generate circuit designs that can be licensed to third parties. To facilitate the licensing process, it is necessary for the IP provider to make a version of the circuit design available to potential licensees for evaluation. Typically, protective mechanisms are placed into the circuit design by the provider to prevent potential licensees from having unfettered use of the circuit after expiration of a trial period. At the conclusion of the trial period, with the circuit design being implemented in hardware as a circuit, the protective mechanism typically renders the circuit unusable.
Creation of an evaluation version of a circuit design is a manual process that can be both time consuming and complicated. The designer must manually incorporate the protective mechanisms within the circuit design to be evaluated and make any necessary signal connections or modifications.